50 research outputs found

    On the Effect of Semantically Enriched Context Models on Software Modularization

    Full text link
    Many of the existing approaches for program comprehension rely on the linguistic information found in source code, such as identifier names and comments. Semantic clustering is one such technique for modularization of the system that relies on the informal semantics of the program, encoded in the vocabulary used in the source code. Treating the source code as a collection of tokens loses the semantic information embedded within the identifiers. We try to overcome this problem by introducing context models for source code identifiers to obtain a semantic kernel, which can be used for both deriving the topics that run through the system as well as their clustering. In the first model, we abstract an identifier to its type representation and build on this notion of context to construct contextual vector representation of the source code. The second notion of context is defined based on the flow of data between identifiers to represent a module as a dependency graph where the nodes correspond to identifiers and the edges represent the data dependencies between pairs of identifiers. We have applied our approach to 10 medium-sized open source Java projects, and show that by introducing contexts for identifiers, the quality of the modularization of the software systems is improved. Both of the context models give results that are superior to the plain vector representation of documents. In some cases, the authoritativeness of decompositions is improved by 67%. Furthermore, a more detailed evaluation of our approach on JEdit, an open source editor, demonstrates that inferred topics through performing topic analysis on the contextual representations are more meaningful compared to the plain representation of the documents. The proposed approach in introducing a context model for source code identifiers paves the way for building tools that support developers in program comprehension tasks such as application and domain concept location, software modularization and topic analysis

    WSCDL to WSBPEL: A Case Study of ATL-based Transformation

    Get PDF
    The ATLAS Transformation Language (ATL) is a hybrid transformation language that combines declarative and imperative programming elements and provides means to define model transformations. Most transformations using ATL reported in the literature show a simplified use of ATL, and often involve a single transformation. However, in more realistic situations, multiple transformations may be necessary, especially in case the original input/output models are not represented in the metametamodeling representation expected by the transformation engine. In this paper, we discuss a model transformation from service choreography (WSCDL) to service orchestration (WSBPEL), which cannot be performed in a single ATL transformation due to the mismatch between the concrete XML syntax of these languages and the metametamodeling representation expected by the ATL transformation engine. This requires auxiliary transformations in which this mismatch is resolved. In principle, the required auxiliary transformations can be implemented using XSLT or a general-purpose programming language like Java. However, in our case study, we evaluate the use of ATL to perform these transformations. We exploit ATL by leveraging the ATL's XML\ud injection and the XML extraction mechanisms to perform the overall transformation in terms of a transformation chain

    Applications of Multi-view Learning Approaches for Software Comprehension

    Full text link
    Program comprehension concerns the ability of an individual to make an understanding of an existing software system to extend or transform it. Software systems comprise of data that are noisy and missing, which makes program understanding even more difficult. A software system consists of various views including the module dependency graph, execution logs, evolutionary information and the vocabulary used in the source code, that collectively defines the software system. Each of these views contain unique and complementary information; together which can more accurately describe the data. In this paper, we investigate various techniques for combining different sources of information to improve the performance of a program comprehension task. We employ state-of-the-art techniques from learning to 1) find a suitable similarity function for each view, and 2) compare different multi-view learning techniques to decompose a software system into high-level units and give component-level recommendations for refactoring of the system, as well as cross-view source code search. The experiments conducted on 10 relatively large Java software systems show that by fusing knowledge from different views, we can guarantee a lower bound on the quality of the modularization and even improve upon it. We proceed by integrating different sources of information to give a set of high-level recommendations as to how to refactor the software system. Furthermore, we demonstrate how learning a joint subspace allows for performing cross-modal retrieval across views, yielding results that are more aligned with what the user intends by the query. The multi-view approaches outlined in this paper can be employed for addressing problems in software engineering that can be encoded in terms of a learning problem, such as software bug prediction and feature location

    An Evaluation Of Service Frameworks For The Management Of Service Ecosystems

    Get PDF
    A service ecosystem is a marketplace for trading services in which services are developed, published, sold and used. Service ecosystems have changed the way of service delivery and service consumption among actors/parties, who perform specific roles for the operation of the ecosystems. Such actors, being service providers, consumers, mediators and intermediaries, ensure the livelihood of the ecosystem. However, the role of the service infrastructure provider, one of the actors of the service ecosystem, is still not being explored sufficiently. The service infrastructure provider provides service infrastructures/frameworks upon which other actors of the service ecosystem operate. In this paper, an evaluation framework for the service framework is defined, which is based on the features that are required for a service ecosystem to thrive. The evaluation framework is used to evaluate three opensource service frameworks. The evaluation framework facilities the selection process of a service framework among the largely available ones

    Migrating a Large Scale Legacy Application to SOA: Challenges and Lessons Learned

    Get PDF
    Abstract—This paper presents the findings of a case study of a large scale legacy to service-oriented architecture migration process in the payments domain of a Dutch bank. The paper presents the business drivers that initiated the migration, and describes a 4-phase migration process. For each phase, the paper details benefits of using the techniques, best practices that contribute to the success, and possible challenges that are faced during migration. Based on these observations, the findings are discussed as lessons learned, including the implications of using reverse engineering techniques to facilitate the migration process, adopting a pragmatic migration realization approach, emphasizing the organizational and business perspectives, and harvesting knowledge of the system throughout the system’s life cycle. I

    Vaginoplasty in vaginal agenesis associated with MRKH syndrome with tabularized peritoneal pull-through

    Get PDF
    In this paper, a 16 year old girl who was  diagnosed as a case of Mayer-Rokitansky-Küster-Hauser (MRKH) syndrome, underwent a combined laparotomy-peritoneal approach to create a neovagina by using tubularized peritoneal graft with uneventful postoperative period. Vaginal dilation was maintained with a vaginal mould daily for six months and three to four times weekly thereafter. She was followed-up after 2 and 4 weeks in the first month and three monthly for a duration of six months. On second follow-up, adequate vaginal length of 6-7 cm and width of 2.5-3 cm were achieved with healthy vaginal tissue. Hence, the laparotomy-peritoneal approach of using a peritoneal graft for creations of a neovagina can be  an effective approach  with  minimal  surgical morbidity to  create  a passageway for satisfactory intercourse

    Extended Health Services of Pharmacists: Role in COVID-19 Management

    Get PDF
    COVID-19 is creating a chaotic scenario all over the world. Due to the unavailability of approved therapy, the number of affected cases is escalating day by day. Different components of the healthcare system have been consistently working in different settings for its containment. Pharmacists are one of the healthcare experts, who are working on the front-line. In this review, we aimed to evaluate the activities of pharmacists as a healthcare professional in disasters such as; COVID-19 management. The focus on services offered by pharmacists has shifted from traditional dispensing and compounding to patient-specific over a period contributing to the quality use of medicine and primary care. Pharmacists are thus, considered essentially one of the main pillars of the healthcare team for the provision of extended health services (EHS), for instance, the effective management of COVID-19. They are working from community to clinical setting. Practicing tele-pharmacy health services, they can reach out to remote places as well. Utilizing their expertise on clinical as well as managerial aspects, they have proved to be dynamic professionals in such a global health crises. Adequate training, inclusion of disaster management in the curriculum of pharmacy, support from the legislative body, and inter- as well as intra-professional collaboration are the key factors for professional development and recognition
    corecore